Security in modern System on Chips (SoC) is becoming more important, among others because IoT (Internet of Things) is rapidly growing both in infrastructure and endpoint applications. Short range low power wireless communications being the most important leaf of IoT, secure connections are highly desired, since vital information might be transmitted. Hence, a SoC may be equipped with a strong processor providing enough processing power for cryptography algorithms or the necessary hardware accelerators to speed up these processes. However, the initial step before even getting into the cryptography world is the generation of a digital word which is random, i.e. there is enough entropy and randomness to guarantee that all possible word values are generated with almost equal probability, and furthermore, the values are independent of each other, i.e. the next value cannot be predicted, regardless of how many words have already been produced. This random word is usually called “the seed” and is used for the generation of the cryptography keys in later stages.
There are a lot of ways to create seeds, mostly based on the Flip-Flops metastability effect which provides randomized results on its digital output or on memory array digital noise while powering up of the system. They all need special hardware to generate a true random number. There are other ways like digitizing environmental data (e.g. monitor a floating analog chip's pin or check RSSI values) but they are either inadequate in entropy/randomness or spend a long time for gathering a good seed. Moreover, the result may be sensitive to ‘tampering’. For example, external stimuli may influence the result.
Therefore, an improved true random generator would be desirable.